#pragma once
#include "ConsoleHelper.h"

class Player;

// All the different types of cards we can have.
typedef enum cardtype_t
{
	CT_PAY = 1,
	CT_PAYPLAYERS,
	CT_COLLECT,
	CT_COLLECTPLAYERS,
	CT_JAIL,
	CT_GOTOSPACE,
	CT_OUTOFJAIL,
	CT_PAYPERHOUSE
}CardType;

class Card
{
private:
	int m_type;
	char* m_flavorText;
	char* m_destination;
	int m_amount; // how much we're paying/getting paid
	int m_secondaryAmount; // This is if the card is a pay-per-house card.
public:

	// Creates a type of card that is meant for exchanging money
	Card(int a_type, char* a_flavorText, int a_amount);

	// Creates a pay-per-house type of card
	Card(int a_type, char* a_flavorText, int a_amount, int a_secondaryAmount);

	// Creates a type of card that is meant for moving the player.
	Card(int a_type, char* a_flavorText, char* a_destination);

	void printCard(short a_x, short a_y);

	int getAmount();
	int getSecondaryAmount();
	int getType();
	char* getDestination();
	char* getFlavorText() { return m_flavorText; }
};